I allmänhet ENUM typer är inte avsedda att användas i dessa situationer. Detta är särskilt fallet om du har för avsikt att tillgodose flexibiliteten att lägga till eller ta bort roller i framtiden. Det enda sättet att ändra värdena för en ENUM är med en ALTER TABLE , medan rollerna definieras i sin egen tabell kräver helt enkelt en ny rad i roles bord.
Dessutom använder du roles tabell låter dig lägga till ytterligare kolumner för att bättre definiera rollen, som description fält som du föreslog i alternativ 1. Detta är inte möjligt om du skulle använda en ENUM skriv som i alternativ 2.
Personligen skulle jag inte välja en ENUM i dessa scenarier. Jag kanske kan se att de används för kolumner med en absolut ändlig uppsättning värden, som {Spades, Hearts, Diamonds, Clubs} att definiera färgen på ett kort, men inte i fall som det i fråga, för de nackdelar som nämnts tidigare.