engine: Cleaner and more robust StorageType

Using subtype, StorageType implemenation can be simpler, more clear, and
less error prone. Adding new type should be one line change now.

Change-Id: Ie05d5e85f152040d3ffbcc57333bce57fc74c616
Signed-off-by: Nir Soffer <nsoffer@redhat.com>