Enum
Un tipo che può contenere solo uno tra un insieme fisso di valori con nome: Status = OPEN | CLOSED | PENDING.
Meglio delle «stringhe magiche» o dei numeri: il compilatore può verificare che ogni caso sia coperto. Gli enum di Rust e TypeScript sono particolarmente potenti (possono trasportare dati aggiuntivi). Nei database: colonne ENUM oppure una tabella separata.