интересно.. в теории можно это сделать через 3 метода.. но добавить enum которым будет передаваться название веб элемента... в теории тогда в enum и локатор добавить можно... и потом в методе и сам объект созавать. Но опять же получается что оч много как буд-то бы уже логики проверок идет в pageObject. И не усложнит ли это все
Что я могу сказать? Написать меньше кода, чем нужно для установки полей и их проверки... ну это невозможно :) Придется написать столько сколько нужно. А все эти махинации с enum по объему выйдут точно также, как и другие варианты.
У вас же, главная задача, эту большую бяку, которая потенциально может измениться, грамотно инкапсулировать, чтобы в случае изменений, делать их в как можно меньшем кол-ве мест, в идеале, в одном.