#Pyth, 71 bytes
x[.EmqQ*shdsed.cs.pM.cK`Q/lK2 2qsP{*MyPQQ&P_hyQP_Q<.&QhQP_QqQsm^sdlKK)1
Try it here! or Verify the test cases.
Unfortunately, this memory errors for the following test cases: 33550336, 16758243290880
.
This returns -1 for False, 0 for Vampire, 1 for Perfect, 2 for Sophie Germain, 3 for Mersenne and 4 for Narcissistic.
In case more are truthy, this picks the one with the lowest index from the list above.