refactor information vector and perception vector with enum