You do not need a record in most cases.
sysutils now contains type helpers for most standard ordinal types,
Suppose you need to test 8 flags (byte) we can write this (0..7)
{$mode objfpc}
uses sysutils;
var a:byte = 54;i:integer;
begin
for i := 0 to 7 do
writeln(i,' ',a.testbit(i);
end.
I implemented this - and more - in syshelph.inc and it is in 3.2.0 and trunk.
So choose am ordinal up to qword, optionally declare a range and no record is needed.