How to use waitlists with price sets that have registration limits?
The only way I see to accomplish this without writing custom code is to create 3 Civi events. You'd then:


Create a page on your website describing the event, with 3 different registration links.
Give your 3 events the same date, event type, etc, but different limits and pricing structures.
All three can be set to roll over to waitlist after the limit is reached.
Give your events clear names like "Our Gathering (Group A)", "Our Gathering (Group B)" etc.
Set up an event participant report that lists the participants from all 3.