input: def classify_enron_spam(X_train: pd.Series, y_train: pd.Series, X_test: pd.Series) -> float:
      """ Classify emails from the Enron Spam Dataset as either spam or non-spam using a SVM model.
      >>> df = pd.DataFrame({'EmailText': ['offer', 'money', 'important'], 'Label': [1, 0, 1]})
      >>> X = df['EmailText']
      >>> y = df['Label']
      >>> X_train, X_test, y_train, _ = train_test_split(X, y, test_size=0.20, random_state=42)
      >>> classify_enron_spam(X_train, y_train, X_test)
      1.0
      """
      # Create bag of words model
      count_vectorizer = CountVectorizer()
      X_train_counts = count_vectorizer.fit_transform(X_train)
  
      # Train the model
      clf = svm.SVC(kernel='linear')
      clf.fit(X_train_counts, y_train)
  
      # Test the model
      X_test_counts = count_vectorizer.transform(X_test)
      predictions = clf.predict(X_test_counts)
      score = precision_score(y_train, predictions, average='binary')
      return score
output:     # Create bag of words model
      count_vectorizer = CountVectorizer()
      X_train_counts = count_vectorizer.fit_transform(X_train)
  
      # Train the model
      clf = svm.SVC(kernel='linear')
      clf.fit(X_train_counts, y_train)
  
      # Test the model
      X_test_counts = count_vectorizer.transform(X_test)
      predictions = clf.predict(X_test_counts)
      score = precision_score(y_train, predictions, average='binary')
      return score