Secara umum, ENUM jenis tidak dimaksudkan untuk digunakan dalam situasi ini. Hal ini terutama terjadi jika Anda bermaksud untuk memenuhi fleksibilitas penambahan atau penghapusan peran di masa mendatang. Satu-satunya cara untuk mengubah nilai ENUM dengan ALTER TABLE , sementara mendefinisikan peran di tabel mereka sendiri hanya akan membutuhkan baris baru di roles tabel.
Selain itu, menggunakan roles tabel memungkinkan Anda menambahkan kolom tambahan untuk mendefinisikan peran dengan lebih baik, seperti description bidang yang Anda sarankan di Opsi 1. Ini tidak mungkin jika Anda menggunakan ENUM ketik seperti pada Opsi 2.
Secara pribadi saya tidak akan memilih ENUM dalam skenario ini. Mungkin saya dapat melihatnya digunakan untuk kolom dengan kumpulan nilai yang benar-benar terbatas, seperti {Spades, Hearts, Diamonds, Clubs} untuk menentukan jenis kartu, tetapi tidak dalam kasus seperti yang dimaksud, untuk kerugian yang disebutkan sebelumnya.