Why does it matter if a group uses more than 33% of the CPU if no other group is using it? It just means they will be done faster and be able to be more proficient.
What you probably want to do is allocate 33% if all three groups are using it, 50% if only two are using it, and all of it (within reason) if only one is using it.
I believe this page describes what you are talking about (although it is an alpha stage kernel mod):
http://kerneltrap.org/node/8253
So, I don't think it is something that can be done yet (containers?) but maybe in the future.
Of course, I don't know everything, so if someone knows more about this, I'm ready to learn my "new thing" today.
HTH
Forrest
p.s. If you have 3 groups fighting over CPU utilization, it is probably time to purchase an additional server or two.