Do meu ponto de vista, um SET (que é uma solução não normalizada) torna as coisas mais complicadas.
Usar um JOIN não é algo que se qualifique como "complexidade", é para o que os bancos de dados são feitos e são bons.
Se você precisar manter uma ordem definida dos elementos, terá que adicionar uma coluna extra "classificar" a essa tabela de pesquisa.