The enum certainly forces a recompile, but you can use strings instead.
But the Creator methods (whether declared as delegates or Funcs) would encapsulate the knowledge of the concrete classes. All the factory needs to know is that it has a function to call and that function has a specific signature.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.