interessante essa questão, inclusive vou evitar enum daqui em diante.
uma observação: eu testei aqui e Typescript não aceita qualquer número para um tipo enum
eu colei o código do exemplo no Typescript Playground
enum Status {
Active, // 0
Inactive // 1
}
const status: Status = 999; // TypeScript aceita QUALQUER número!!!
e obtive o seguinte erro:
Type '999' is not assignable to type 'Status'.(2322)
de qualquer forma, muito válida a questão levantada e eu gostei muito da abordagem proposta poreliassoares