runtime validation
TypeScript in Production notes about runtime validation
TypeScript Enums at Runtime: When to Choose Them Over String Unions
Choose a string-literal union for a compile-time restriction, or a regular enum when your code also needs named members and a runtime object.

