ENUM זה הכדי להגדיר קטגוריות שהוגדרו בלבד, כשאתה יוצר את הטבלה אתה מגדיר אילו ערכים יכולים להיכנס לENUM ורק הם יוכלו להיכנס אליו, אבל זה רק לערך בודד
לעומת זאת SET הוא כמו ENUM רק שאתה יכול להכניס כמה ערכים ביחד, יש בעייתיות כי הערכים ייוזגו כבינאריים ויש הגבלה של עד 64 ערכים שונים וגם לא ניתן להפריד אותם בפסיקים.
http://dev.mysql.com/tech-resources/...-datatype.html
כולם דיברו פה על הפיתרון השני שהצעתי לך, שדה שהוא מחרוזת המופרדת בפסיקים, זהו הפתרון הטוב ביותר וגם היעיל ביותר מבחינת נירמול בסיס הנתונים, חיסכון במקום ובנוסף גם מהירות במידה ואתה יוצר אינדקס, ממליץ לך מאוד על הפתרון הזה.
שים לב שאתה יכול ליצור אינדקס לכמה שדות ביחד אם הם מופיעים ביחד בשאילתא זה שיפור בביצועים לעומת אינדקס על שדה בודד.