Are you looking for a threaded type structure where each category could have unlimited sub-categories as in this example:
Cat 1
sub Cat 1
product 1
product 2
sub Cat 2
product 3
etc.
where Cat 1 will list products 1-3, but sub Cat 1 will only list products 1-2?