Zend certified PHP/Magento developer

How to create category list view with products grouped by inner category?

We have our store’s products organized as follow:

Category1
---Category4
------Category10
-----------Product1
-----------Product2
------Category11
-----------Product3
---Category5
------Category12
-----------Product4
-----------Product5
-----------Product6
Category2
---Category6
------Category13
-----------Product7
-----------Product8
-----------Product9
Category3
---Category7
------Category14
-----------Product10
------Category15
-----------Product11
-----------Product12
------Category16
-----------Product13
-----------Product14

I want to make a list view of Category1 as follow:

Category1
------Category10
-----------Product1
-----------Product2
------Category11
-----------Product3
------Category12
-----------Product4
-----------Product5
-----------Product6

In other words, I think that every category shall be a collection of products grouped by their parent category.

How to do that? I don’t know where to start. Any hint?