You have two options. You would either need to hand code some IF statements and keep track of the previous category so that it doesn't get repeated. I've done it this way, but the code can be a little tricky.
The other option is to use two recordsets. Create a recordset for the categories alone and loop on those. Then create a second recordset and filter it based on a CategoryID and set the CategoryID to the value from the category recordset. Then add the product information into a repeat region on the page below the category repeat region.
Then you can manually copy and paste the product code and repeated region inside of the category repeat region.