use enum for page state