Я не знаю, писал ли еще кто-то об этом, но на всякий случай напишу, может, кому-то поможет. Фишка от матерых программистов - поменяйте выражение сравнения, так чтобы слева было то, что не должно быть null. Т.е. вместо "аргумент метода.иквалс(тип картинки)", напишите "тип картинки.иквалс(аргумент метода)". Тогда NullPointerException быть не должно. Как я понимаю, это исключение возникает, когда мы к чему-то обращаемся, скажем, вызываем метод, а это что-то null. Если поменять местами, то иквалс вызываем на типе картинки, а он по умолчанию, не null.
https://vertex-academy.com/tutorials/ru/pattern-factory-java/ - Паттерн проектирования Factory, с помощью enum можно создать метод, возвращающий нужный нам объект.