I'm assuming it is required for the user to do the categorization because you need to be sure there is a file for each category to complete the application. Otherwise I'd say it would be nice if you could do the categorization for them.
It would be preferable to upload in step one and then be done with that and spend the rest of the time in the application. If you'd do 5 drop zones, a user would have to switch back and forth between your application and the desktop/explorer/finder for each zone. Not everyone has the screen real-estate to do that practically, and lots of people have everything full screen anyway.
After uploading a set of files, you could offer the categorization by drag and drop, or simply an overview where a category can be picked for each file.
You'll need to support additional uploads after the first set, and it'd be nice to support dropping right into a category, but I wouldn't recommend that as the primary flow of the application.
Also, I don't recommend using drag&drop as the only mode of uploading. It requires a certain level of motor skills that not all users will be able to deliver comfortably. Many of the applications I've designed offer drag and drop, but I find myself (pretty handy with a mouse) preferring to use the default upload dialog. That also doesn't require me to prepare my desktop or a finder window with the right files. One hand to support my head, the other just lazily clicking away: it's simply less effort than drag&drop :)
Same goes for drag and drop for categorization: it's a fun mode of interaction, but it isn't entirely natural using a mouse and you need to design it so that it's clear what the user has to do. But here it could make categorization (and checking completeness) a lot clearer than simply labeling items in a list.
download bmml source – Wireframes created with Balsamiq Mockups