Best pattern for multiple effects

I’m learning Shader Graph to design different visual effects that can be applied to my character models depending on their state. (Just as some random examples: getting a greenish effect when poisoned; golden sheen when powered up; etc.)

What I’m curious about is, what is the best implementation pattern for this? Should you design an individual material for every effect, and swap materials out on the model dynamically? Should you try to create a single all-encompassing shader which handles every effect (e.g. with some enum input)? Or are you supposed to create and apply a second material which receives the base material as the input and augments that with some effect?

Thanks!

Anyone have any thoughts or opinions on this? Particularly:

Should you design an individual material for every effect, and swap materials out on the model dynamically? Should you try to create a single all-encompassing shader which handles every effect (e.g. with some enum input)?