Sounds like enums with extra steps.
Enums aren't type safe in typescript
it’s Enuma associated with data without having to repeat yourself
If you have to define the Enums in one place and then repeat them all in another just to associate data with each one you’ve failed
Enums aren't type safe in typescript