FIND_IN_SET()
só pode ser usado para pesquisar um único valor em uma lista separada por vírgulas, não funciona com duas listas. Você precisará chamá-lo separadamente para cada valor.
SELECT * FROM tablename
WHERE FIND_IN_SET('12', category_id) OR FIND_IN_SET('13', category_id) OR FIND_IN_SET('15', category_id)
Seria melhor se você normalizasse seu esquema em vez de usar listas separadas por vírgulas. Se você criar uma tabela muitos para muitos com os IDs de categoria, poderá fazer:
SELECT t1.*
FROM tablename AS t1
JOIN item_categories AS c ON t1.id = c.table_id
WHERE c.category_id IN (12, 13, 15)