Creating a custom enum field

We usually call this type of thing a “tag model structure”

Could you please provide any more info about this?