We used functional decomposition to create the folder structure for our test cases. By taking the application and dividing it into groups by functionality you can create a sort of tree structure. The tree can be sorted by importance of the function or even alphabetically whichever is convenient for you. We use TestDirector so this is our planning tree. Under each major function is the subsets of functions and so on down to the actual tests. Some functions are inter connected and may be difficult to break out. They can be handled as a major function with subs or separately, just try not to make redundant tests.
The way I decompose our tests is by functional (functional point)break down of the application. Usually each functional point corresponds to a different functional module with in the application. Their can be hierarchical levels in the functional breakdown.