refactor: 2 pull bools to 1 enum; remove gate backptr