Например, у вас может быть
HashMap<String, HashMap<String, BigDecimal>>.
Я бы не назвал его OOD, но вы можете.
Вероятно, было бы немного более читабельным, если бы у вас был класс дляпредставляющий Person, класс для представления PersonalAccounts, который имеет экземпляры Account в качестве атрибутов, по одному для каждого типа учетной записи (я предполагаю, что их будет очень мало, в противном случае список будет лучше).
Тогда один
HashMap<Person, PersonalAccounts>
достаточно, если вы хотите использовать HashMap.
На самом деле вам даже не нужна карта, если экземпляр PersonalAccounts является атрибутом Person.