When you say one category for each product, I am assuming you mean that although there may be multiple categories, each product would only be a member of one category?
Basically, if I am setting up a grocery shop with, let's say, categories of cheese, meat, beer...then you would have multiple products within each cat? Such as in cheese cat you could have product of cheddar, Camembert, Brie etc etc?
That being the case... Should I set up a category insert/update page for the client to be able to add/edit or remove categories and then create a dynamic list of each category which then populates with the product associated with it?