I would not call it repository. Repository immediately put me on the wrong foot, because it is a term used in more traditional enterprise applications and it immediately made me think about databases. So to prevent other developer (internal and external) to be put on the wrong foot, I would suggest a different approach.

I think the best place to place them is the DataSerializerHook. Your are allowed to define constants in an interface. There is no added value in putting them in an different class, like your FactoryIdRepository, which only leads to additional complexity.