The result you're getting stems from the fact that you have your category (chapter) name repeating on every page as a result of your data merge, and you're using that as the first-level TOC entry.
Following on from my earlier answer about using the Book Panel, you could simplify this problem by dividing your .csv file into separate files by category. Make each category a separate document in your book, then use this sneaky trick:
Set up a new paragraph style called "TOC Category" or something similar.
On the first page of each book chapter, add a text frame on the pasteboard (not on the page) and type in the category name. Give this text the "TOC Category" style.
Change your TOC Styles to use the new TOC Category style instead of the original.
If I knew more about the workflow involved I could probably come up with some other suggestions, but this should at least ease the pain.