diff --git a/src/metafiles/binstall_v1.rs b/src/metafiles/binstall_v1.rs
index 386b2929..9704719f 100644
--- a/src/metafiles/binstall_v1.rs
+++ b/src/metafiles/binstall_v1.rs
@@ -48,9 +48,16 @@ impl MetaData {
     }
 }
 
+#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
+enum SourceType {
+    Git,
+    Path,
+    Registry,
+}
+
 #[derive(Debug, Serialize, Deserialize)]
 pub struct Source {
-    source_type: CompactString,
+    source_type: SourceType,
     url: Url,
 }
 
@@ -60,15 +67,15 @@ impl From<super::Source> for Source {
 
         match src {
             Git(url) => Source {
-                source_type: "Git".into(),
+                source_type: SourceType::Git,
                 url,
             },
             Path(url) => Source {
-                source_type: "Path".into(),
+                source_type: SourceType::Path,
                 url,
             },
             Registry(url) => Source {
-                source_type: "Registry".into(),
+                source_type: SourceType::Registry,
                 url,
             },
         }