How to limit the number of nodes that run in parallel under the same label

Sometimes my users have a huge pipeline by calling parallel. Let’s say the call asks for 16 nodes, 12 of them using the same label. But the actual agent is created on demand, and I only want to allow 4 nodes out of 12 to run in parallel; others can wait. But this limitation should only apply to the build itself. If there is a concurrent build that asks again for this many nodes, that build also gets 4 nodes to run in parallel.

The Throttle Concurrent Builds plugin does not seem to work for this purpose. I created a category with maxConcurrentPerNodeLabeled set to 4 for that label, applied throttle("that-category") to the node and then around parallel, observed no effect. All the nodes under the same label still spawn and run simultaneously.