Альтернативным подходом было бы использовать теги для любых предметов, которые вы храните вместо категорий. В примере, который вы даете, это может быть даже более подходящим - вместо «Настольных и мобильных приложений», «Настольных приложений» и «Мобильные приложения» вы использовали бы теги «Рабочий стол» и «Мобильный».
Ref: Как хранить теги в тегах MySQL, одно поле в целом или одно поле для каждого тега?
g2]