Hi Olivier, ARD (via the repository) uses the same Project/Folder structure as TDM, and your TDM instance which is hosting your repository is also where you can create Projects, Versions, and Levels in any structure you choose, for more information on how to do that see here: Create a Project - CA Test Data Manager - 4.2 - CA Technologies Documentation
In terms of best practices, I 100% agree that having many flows under one item isn't the way to go, typically my top level divider (the project level in TDM) either corresponds to an application or a project, but if neither of those make sense I will fall back on the idea that Flows which reference each other should probably be within the same TDM/Repo project.
One level down further (the Version level within TDM) is usually how I break out modules/layers of my application, or alternatively different teams/stages on a Project.
Past this point, less forethought is required since you can actually create child levels to Versions and their subsequent children from within ARD (i.e. every level past the first two can be controlled from outside of TDM - At least within ARD 2.5):
Once you get to this level, you can keep creating subfolders to your heart's content, going as deep as necessary to classify all of your diagrams.
In terms of structure at the lowest level, typically I keep flows in the same folder which contribute directly to the same tests. Going up one level from that I keep flows together which are testing the same thing or via the same execution engine.
Hope this helps
Ben