Small simplification and optimization in tick start/end

Change the EnumSet equivalent of "A &= ~ new(~B)" to "A &= B".
This eliminates the need for one temporary object and one static method invocation in a frequently called loop.

Further optimization is possible, but would not necessarily simplify the code, so is not included in this pull request.