particule type enum implemented