Schau Dir dazu doch auch mal in der
Unit Classes.pas der
VCL (source liegt Deiner Enterprise ja bei) die beiden Klassen TCollection und TCollectionItem an.
Dort ist das so implemetiert, das Du beim erzeugen der (abgeleiteten) Collection/Liste den Typ (also die Klasse) der Items mitgibst. Diese werden dann durch eine Classfactory als entsprechende Objekte hinzugefügrt / created.