event enumeration, lazyiness & enums