The idea would be to actually persist those accounts to the database as the account subtype. So instead you'd have the following:
Plutus::Expense.create(:name => "Petty Cash")
Plutus::Assett.create(:name => "Cash on Hand")
Then when you go to create an entry, you lookup those accounts and reference them with the debit or credit amounts.
Since each record knows it's type, you can do the following:
cash = Plutus::Asset.find_by_name("Cash on Hand")
cash.balance(:from_date => "2014-01-01", :to_date => Date.today)
and it will correctly total the credit/debit balances.
This way you can have a book of accounts with hundreds of account types without maintaining all those models in your code base.