Hallo Alexander,
eine Enumeration bringt Dich dabei nicht wirklich weiter.
Das ist nur eine Zahl und insofern ebenso gut oder schlecht wie eine Zeichenfolge.
Schlecht dann, wenn sich Reihenfolge, Anzahl, Namen der Spalten im DataGridView oder der Daten mal ändert.
Die Frage, die man sich erst beantworten sollte:
Wie wird die Methode ShowColumn verwendet und wie kommt sie zu ihrem columName.
Zwei Szenarien, die mir adHoc eingefallen sind:
Würde sie z. B. aus einem (Kontext-)Menü verwendet, so könnte sie sich die Informationen
über die enthaltenen Spalten zur Laufzeit besorgen, davon den HeaderText für die Anzeige verwenden.
Und den Visible Status direkt direkt über DataGridViewColumn setzen.
Variante 2: Wird sie wiederum aus Sicht der Datenquelle verwendet, so kann man die Verbindung
über den Eigenschaftsnamen (bzw. die DataColumn) und die DataPropertyName-Eigenschaft herstellen.
In beiden Fällen würden man weder String-Konstanten noch eine Enumeration benötigen.
Änderungen sowohl am Aufbau des DataGridView oder der Datenquelle würden ohne Code-Änderung funktionieren.
Wenn Du sie für eine dritte, vierte Variante verwendest, so gibt es vermutlich auch dafür einen Weg.
Gruß Elmar