def popup_choices=(new_val)
      return nil if @popup_choices == new_val
      raise JSS::InvalidDataError, 'popup_choices must be an Array' unless new_val.is_a?(Array)

      # convert each one to a String,
      # and check that it matches the @data_type
      new_val.map! do |v|
        v = v.to_s.strip
        case @data_type
        when 'Date'
          raise JSS::InvalidDataError, "data_type is Date, but '#{v}' is not formatted 'YYYY-MM-DD hh:mm:ss'" unless v =~ /^\d{4}(-\d\d){2} (\d\d:){2}\d\d$/
        when 'Integer'
          raise JSS::InvalidDataError, "data_type is Integer, but '#{v}' is not one" unless v =~ /^\d+$/
        end
        v
      end
      self.input_type = 'Pop-up Menu'
      @popup_choices = new_val
      @need_to_update = true
    end
def popup_choices=(new_val)
      return nil if @popup_choices == new_val
      raise JSS::InvalidDataError, 'popup_choices must be an Array' unless new_val.is_a?(Array)

      # convert each one to a String,
      # and check that it matches the @data_type
      new_val.map! do |v|
        v = v.to_s.strip
        case @data_type
        when 'Date'
          raise JSS::InvalidDataError, "data_type is Date, but '#{v}' is not formatted 'YYYY-MM-DD hh:mm:ss'" unless v =~ /^\d{4}(-\d\d){2} (\d\d:){2}\d\d$/
        when 'Integer'
          raise JSS::InvalidDataError, "data_type is Integer, but '#{v}' is not one" unless v =~ /^\d+$/
        end
        v
      end
      self.input_type = 'Pop-up Menu'
      @popup_choices = new_val
      @need_to_update = true
    end
Change the Popup Choices of this EA
 New value must be an Array, the items will be converted to Strings.

 This automatically sets input_type to "Pop-up Menu"

 Values are checked to ensure they match the @data_type
 Note, Dates must be in the format "YYYY-MM-DD hh:mm:ss"

 @param new_val[Array<#to_s>] the new values

 @return [void]