storage metric: add generic implementation

Add the generic implementation for the storage metric, so there is no
need to add a new enum value and new code, every time a new storage
type needs to be added.

Change-Id: Idcd99455ca559eb6274a71613684a99b4b63a6f0
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/health_metric_collection.hpp b/health_metric_collection.hpp
index 51a92e3..d1fd4fb 100644
--- a/health_metric_collection.hpp
+++ b/health_metric_collection.hpp
@@ -25,7 +25,7 @@
     void read();
 
   private:
-    using map_t = std::unordered_map<MetricIntf::SubType,
+    using map_t = std::unordered_map<std::string,
                                      std::unique_ptr<MetricIntf::HealthMetric>>;
     using time_map_t = std::unordered_map<MetricIntf::SubType, uint64_t>;
     /** @brief Create a new health metric collection object */