Yes, the activity subtypes have different behaviors (at a certain point. They have a lot of common behaviors too.) With respect to scheduling , they would be the same. Perhaps that's the answer (maybe what Tom meant,) use either/or depending on the situation.
bus.RegisterFor<ActivityScheduled>(ev=>ev.EventType==EventType.Wedding);
In general though, I try to avoid enums and prefer to use polymorphism to dictate code paths. And thanks to co/contravariance in C# 3 I can configure my bus to send the more generic ActivityScheduled event to those who want them as well as the more specific WeddingScheduled event for those who care.
Here's the kicker. If your event types are dynamic (meaning new event types can be added at runtime), you obviously CAN'T use inheritance ... well you could but you'd be getting into the world of dynamic work flows, transforms, and business rules and at that point you might as well be using a full-fledged BR/workflow engine.