Your comments

Кроме того все подкатегории выстраиваются в один длиннющий список.
Я думаю правильное решение - двухуровневая система выбора категории. Таким образом будет использовано преимущество группировки по категориях - отсутствие хаоса и длинных списков.