Warum gehst du hier über die Variable nfcRxGain? Du kannst doch die drei Blocks direkt von den defines abhängig machen. Vorteil wäre sogar noch, daß Programmspeicher gespart wird, weil nicht zutreffende Blöcke gar nicht erst übersetzt werden.
Anfang:
#define NFCgain_max // Maximale Empfindlichkeit
//#define NFCgain_avg // Mittlere Empfindlichkeit
//#define NFCgain_min // Minimale Empfindlichkeit
In Setup:
#ifdef NFCgain_min
mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_min);
Serial.println(F("=== mfrc522-> RxGain_min === "));
#endif
#ifdef NFCgain_avg
mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_avg);
Serial.println(F("=== mfrc522-> RxGain_avg === "));
#endif
#ifdef NFCgain_max
mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);
Serial.println(F("=== mfrc522-> RxGain_max === "));
#endif
PS: Gain schreibt man ohne „e“. 