JBTM-2343 introduced a feature for observing transaction state changes (requested by JPA). Listeners register interest in particular events (ASSOCIATED and DISASSOCIATING). However, BaseTransactionManagerDelegate will notify listeners for either event even if they only subscribed for one of them. For example if a listener subscribes for thread to transaction associations only it will also receive disassociation notifications.
In addition, the current event types are restricted to a single java enum (org.jboss.tm.listener.EventType). Since java enums are not extensible the solution needs to be tweaked so that we can easily add new event types.