after doing some profiling it turned out that QVector with a struct of enums was the fastest combination. QVector
I have tried QHash, QMap and for data holders QString and QVariant
benchmark:
...searching in dataset size: 1090000
testing < QVector<struct enum> > case time (ms): 242
testing < QVector<struct QString> > case time (ms): 1220
testing < QMap<enum, QVariant> > case time (ms): 3458
testing < QHash<enum, QVariant> > case time (ms): 2167