I think races should be identified based on category and each category be “its own event.” For example on the events page there would be 4 races for each race. The Innsbruck race would have an event for Innsbruck A, Innsbruck B, Innsbruck C. and Innsbruck D. That way on the start line I am only racing against my own level. I know it is encouraged to have your category as part of your name but that still doesn’t really work b/c you don’t see all the names. So if riders that are C riders made the selection for B then you have no idea that you need to go after that guy. I know this would clutter up the events page with more races but I think most racers would appreciate it. Also, perhaps your worried that with fewer racers in the race, it will discourage people from joining the event. Maybe that is true, but I think the other side (knowing your only racing against people of your same ability" is more important.
@Keith_Stew: That option is available to race organizers when they setup races, if they choose to only see event category riders then when you select your race and you select the C group you will race against other C riders and will only see them.
If you use the Zwifthacks page and filter for “see only event category riders” you can find races that still work that way.
Some race organizers have moved away front that system because people enter the wrong group and then spoil the race for everyone. Now they filter afterwards. I disagree with this way of doing I think it will be more fun if they could filete before the race and auto select your race category.