Change image_manager.cpp to accept the correct purpose

Change-Id: If8961a8582f1d25fa4275d915795beb50366060f
Signed-off-by: Leonel Gonzalez <lgonzalez@us.ibm.com>
diff --git a/image_manager.cpp b/image_manager.cpp
index 605050c..eaf2e6d 100644
--- a/image_manager.cpp
+++ b/image_manager.cpp
@@ -128,24 +128,11 @@
         return -1;
     }
 
-    std::transform(purposeString.begin(), purposeString.end(),
-                   purposeString.begin(), ::tolower);
     auto purpose = Version::VersionPurpose::Unknown;
-    if (purposeString.compare("bmc") == 0)
-    {
-        purpose = Version::VersionPurpose::BMC;
-    }
-    else if (purposeString.compare("host") == 0)
-    {
-        purpose = Version::VersionPurpose::Host;
-    }
-    else if (purposeString.compare("system") == 0)
-    {
-        purpose = Version::VersionPurpose::System;
-    }
-    else if (purposeString.compare("other") == 0)
-    {
-        purpose = Version::VersionPurpose::Other;
+    try {
+        purpose = Version::convertVersionPurposeFromString(purposeString);
+    } catch (const sdbusplus::exception::InvalidEnumString& e) {
+        log<level::ERR>("Error: Failed to convert manifest purpose to enum. Setting to Unknown.");
     }
 
     // Compute id