Swapable texture

I am trying to make a character customisation system. I would like to make a material that allows a texture input to be switched between a number of textures.
For example, the system I have in mind would allow the face of a character to be modified by apply a different texture.

I have in mind some kind of “if” statement that checks the value of a constant (which can be set by the code) and then sets the Base Color input to the corresponding texture.

I’ve vaguely seen stuff to do with blueprints and material parameter nodes but if I’m honest I’m still confused by the whole blueprint system.

What would be the best way to achieve this?