Event subscription for EntityTypeEvents
i already have the same issue, you have to implement this class to EntityTypeListenerInterface and use the trait EntityTypeEventSubscriberTrait 

class SubscriberClassModuleSubscribesToEntityTypeEvents implements EntityTypeListenerInterface, EventSubscriberInterface{

use EntityTypeEventSubscriberTrait;

public function __construct(EntityManagerInterface $entity_manager) {
    $this-&gt;entityManager = $entity_manager;
}

public function onCreate(EntityTypeEvent $event)  {
      //Do things on creation
}
public function onUpdate(EntityTypeEvent $event)  {
      //Do things on update
}
public function onDelete(EntityTypeEvent $event)  {
      //Do things on delete
}

/**
 * {@inheritdoc}
 */
public static function getSubscribedEvents() {
    return static::getEntityTypeEvents();
}


}

and you get to load entity manager in your module.service.yml declaration
    arguments: ['@entity.manager']