In many cases the most accurate way to model a solution is with a property that can hold one value chosen from a defined list. Currently developers use either a string - which has to be checked for proper validation, or an integer - which does not convey any context.
Users have been asking for this feature for years:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.