use bitfield in SegmentInformation, cast to underlying type, reorder members