Si tienes todos los valores en un campo, la única solución es usar FIND_IN_SET en el WHERE (no, antes que preguntes, LIKE no te va a funcionar bien), pero para que devuelva resultados correctos deberás incluir un FIND_IN_SET:
Cita: Al margen de esto y para futuras ocasiones, me gustaría saber, si tengo por ejemplo 50 opciones de opciones, tendría que hacer 50 tablas relacionales?, siempre?
Eso no se puede responder sin conocer detalles del sistema. Tu ves 50 opciones, y yo puedo llegar a ver una tabla con 50 registros, o bien cuatro tablas con X registros cada una...
En resumen: describe el sistema completo, y qué representan cada una de esas 50 opciones, y veremos.
Un dato no es necesariamente una tabla. Un mismo objeto puede no ser una única tabla, y 150 formularios pueden en realidad ser 8 tablas. No depende de lo que veas en la pantalla o lo diferentes que parezcan los datos, sino en lo que esos datos representan y lo que hace el sistema.
Las bases de datos y la arquitectura de datos no son un terreno fácil para los programadores que se inician. Requiere cierto nivel de conocimiento y experiencia dominarlo.
Por otro lado, no te asustes con 50 miserables tablas. Trabajo con una base que tiene 683 tablas, y accedo a otros que tienen más de 1.000, y ni se notan.