Przestrzegam przed takim wykorzystaniem gettera - isGpsEnabled() nie powinno na mój gust zmieniać wartości mGpsPopupWasShown. Jeśli jest taka potrzeba to sugeruję dodać metodę markGpsEnableDialogAsHidden() żeby ktoś z zewnątrz ustawiał tę wartość jawnie.
Z drugiej strony może warto wykrzystać fragment managera do sprawdzenia czy akurat fragment który dodajesz po tagu (EnableGpsDialogFragment.class.getSimpleName()) jest widoczny jako pierwszy fragment na wierzchu?