Enum
Um tipo que só pode assumir um entre um conjunto fixo de valores nomeados: Status = ABERTO | FECHADO | PENDENTE.
Melhor do que "strings mágicas" ou números soltos: o compilador consegue checar se você cobriu todos os casos. Enums em Rust e TypeScript são particularmente poderosos (podem carregar dados extras junto com cada valor). Em bancos de dados: colunas ENUM ou uma tabela de apoio separada.