There are two ways to store enum types in database: as a string or as an integer.
Saving the enumeration ( sex = {male,female}
, account_type = {regular,pro,admin}
, etc. ) as strings makes things more readable but requires more space than integers.
On the other hand, integers require mapping the enums in and out of the database. As a benefit, case-sensitivity is handled outside of the database with integers.
Assuming both are indexed, is doing the integer conversion generally worth it? How much faster is the lookup with integers?
Example
Perhaps a concrete example could help to visualize things. Lets take the above account_type with a database of 100,000 users.
String enum
Assuming 8-bit fixed length CHAR type
7*100000*8/8 = 700000 bytes
Integer enum
Assuming 8-bit TINYINT integers
100000*8/8 = 400000 bytes
Seems like the size is almost half with integer enums. Also need to concider the indexes.