It crashes because your pointer is a nullptr (and that probably just because you're running it in debug mode and the memory was zero-padded).
Just because you think that the application flow should run fine, doesn't mean it actually does. Take your debugger and step through your application code. Either the texture never gets created (loadTextureSet not called) or you never assign the texture to the other pointer (no match for the switch-case) or you have left out important code.
And any (experienced) C++ developer will tell you, that's not a reasonable solution to use a global, nor to have it "accessible from anywhere". You do yourself a favor if you pick a design that will be maintainable in the long run, even if your application is just something small, because that's where you get experience from and experience is the key thing in programming - either you have programming experience, or you're a novice (aka newbie).
As for SFML resources, as long as their construction and destruction happens in a non-global scope, it shouldn't crash. Still it's better to use something like
Thor's resource holder to manage various types of resources.