There is no way to fill in specific values during ALTER TABLE. The value will be NULL or else a default value you define for the column.
You may find INSERT...ON DUPLICATE KEY UPDATE is a convenient way to fill in the values.
Example:
CREATE TABLE characters (
  id serial primary key,
  char_name TEXT NOT NULL
);
INSERT INTO characters (char_name) VALUES
 ('Harry'), ('Ron'), ('Hermione');
SELECT * FROM characters;
+----+-----------+
| id | char_name |
+----+-----------+
|  1 | Harry     |
|  2 | Ron       |
|  3 | Hermione  |
+----+-----------+
Now we add the gender column. It will add the new column with NULLs.
ALTER TABLE characters 
  ADD gender ENUM('m','f') AFTER char_name;
SELECT * FROM characters;
+----+-----------+--------+
| id | char_name | gender |
+----+-----------+--------+
|  1 | Harry     | NULL   |
|  2 | Ron       | NULL   |
|  3 | Hermione  | NULL   |
+----+-----------+--------+
Now we update the rows:
INSERT INTO characters (id, char_name, gender) VALUES
  (1, '', 'm'), (2, '', 'm'), (3, '', 'f')
ON DUPLICATE KEY UPDATE gender = VALUES(gender);
It looks strange to use '' for the char_name, but it will be ignored anyway, because we don't set it in the ON DUPLICATE KEY clause. The original char_name is preserved. Specifying the value in the INSERT is necessary only because the column is defined NOT NULL and has no DEFAULT value.
SELECT * FROM characters;
+----+-----------+--------+
| id | char_name | gender |
+----+-----------+--------+
|  1 | Harry     | m      |
|  2 | Ron       | m      |
|  3 | Hermione  | f      |
+----+-----------+--------+
DBFiddle