minha visão sobre enums do mysql. eu não uso mais.
- Enums, internamente, no mysql, são inteiros (então com relação a 'performance', 'indices', etc pode usar numa boa)
- Enum não são aceitos no mysql, e minha ferramenta principal, pelos últimos 7,8 anos está sendo o laravel, e sqlite não aceita enum. Ou seja, não consigo usar como driver de banco de dados de testes os sqlite.
- Manter enums são chatos. Se tu quer adicinar 1 tipo na tabela, tu tem que escrever 1 migration pra dropar a coluna recriá-la ('culpa' do doctrine ou mysql, e nem do eloquent no caso)
- Hoje php tem classes Enum, que funcionam perfeitamente para substituir de maneira mais fácil o campo enum do mysql (se tua aplicação for 'boa', porque não sendo enum tu consegue por qualquer coisa no banco)