On last night's round-table when Shield implementation was covered, the recommendation was to keep the number of classification levels to no more than a handful.
This got me thinking about our implementation, which is primarily based around one project, we have had to introduce a few labels just for a specific project. The reason is that each label maps to a policy and a shield access list.
So one project has a few access lists and different content needs restricting to different groups of people, this requires separate Access policy which in turn forces a separate Classification.