CatalogOption is an enum. So it cannot be extended. Then, if we want to extend the CategoryHierarchyPopulator using our custom CatalogOption, our new populator cannot extend from CategoryHierarchyPopulator.
This is the current implementation of the CategoryHierarchyPopulator:
@Override
public void populate(final CategoryModel source, final CategoryHierarchyData target,
final Collection<? extends CatalogOption> options, final PageOption page) throws ConversionException
Take a look to third argument. Nothing can extend from CatalogOption. I think it should be a spring bean.