Weil das Array Elemente des Typs TSplashItems als Index hat. Somit liefert dir Low() Background und High() LabelInfo und damit muss ergo deine Laufvariable auch den Typ TSplashItems haben.
Und noch ein Hinweis: Schonmal gefragt warum alle Enumerations bei CodeGear immer einen Präfix haben? Finde es heraus und definiere dir nach deinem Typ TSplashItems noch einen weiteren:
Delphi-Quellcode:
type
TTestEnum = ( Whatever, Whatelse, Background );
Und dann schau dir mal den Ordinalwert von deinem Typ Background an oder greife mit eingeschalteter Bereichsprüfung auf dein Array Element Background zu...