Как вариант можно разделить каталог товара на 3 дива (в зависимости от кол-ва категорий)
И между первым и вторым div'ом выводить блок с полной информацией, который будет заполняться в зависимости от выбранной категории товара / в зависимости от нажатой кнопки. И так аналогично для каждого уровня... манипулируешь всем этим на js.
<div>
<div></div>
<div></div>
<div></div>
...
</div>
<div style="display: none"></div>
<div>
<div></div>
<div></div>
<div></div>
...
</div>
<div style="display: none"></div>
<div>
<div></div>
<div></div>
<div></div>
...
</div>