Too Long; Didn't Read
The 'varchar' and 'enum' fields are different types of data types. They are different in terms of performance, easiness to use, and support for feature changes. An integer is not human-readable, and you have to keep the mapping between numbers and words in your code. The correct order of options in the fields should match your expected sorting behavior. The same story with enums takes the same byte consumption as with an intintintint, and it might bring some problems to beginners.