@andrewrk Yeah I’ve done the same with enums in C#, it works great! Though it feeeeels slightly hacky?
I think some languages have that as keyword, a bit like a type alias but not allowing it to be interchangeable with the original. Maybe “distinct”? (I’m sure you know about this as a thing much better than me!)