если дочерние узлы иерархии можно на крупные категории разбивать, то это очень полезная информация и надо ее кодировать А где в вашем подходе оно кодируется? Или я протупил и...
И вообще, ну хоть что-то пробовали?